layui.use(['table'], function(){
    let $ = layui.jquery;
    let table = layui.table;
    let form = layui.form;

    loadList();
    toolbar();
    tableActionTool();
    search();

    // 列表
    function loadList(){
        table.render({
            elem: '#list',
            url: '/system/admin/list',
            method: 'post',
            where: getQueryParams(),
            height: 'full',
            cellMinWidth: 80,
            page: true,
            cols: [[
                { field: 'id', title: 'ID', width: 80 },
                { field: 'name', title: '姓名', width: 100 },
                { field: 'roleName', title: '角色', width: 100 },
                { field: 'markStatus', title: '状态', width: 80, templet: function (d){
                    switch (d.markStatus){
                        case 0: return '正常';
                        case -1: return '删除';
                        default: return '其它';
                    }
                } },
                { field: 'action', title: '操作', width: 95, templet: '#dataActionBar' },
                { field: 'createTime', title: '创建 时间', width: 180 },
                { field: 'createUser', title: '创建 人', width: 80 },
                { field: 'updateTime', title: '更新 时间', width: 180 },
                { field: 'updateUser', title: '更新 人', width: 80 }
            ]],
            error: function (res, msg) {
                console.log(res, msg)
            },
            skin: 'nob',
            toolbar: '#toolbar',
            defaultToolbar: ['filter', 'exports', 'print'],
        });
    }

    // 工具栏
    function toolbar(){
        table.on('toolbar(list)', function (obj) {
            switch (obj.event) {
                case 'add': add(); break;
            }
        });

        function add() {
            layer.open({
                type: 2,
                title: '新增管理员',
                shade: 0.1,
                area: ['80%', '80%'],
                content: "/system/admin/add/"
            });
        }
    }

    // 表格项操作按钮
    function tableActionTool(){
        table.on('tool(list)',function (obj){
            switch (obj.event){
                case 'edit': edit(obj);
            }
        });

        // 编辑
        function edit(obj){
            layer.open({
                type: 2,
                title: '编辑 id:'+ obj.data['id'],
                shade: 0.1,
                area: ['80%','80%'],
                content: '/system/admin/edit/' + obj.data['id'] + '/'
            });
        }
    }

    // 搜索
    function search(){
        form.on('submit(btn-search)', function (data){
            table.reload('list', {
                where: getQueryParams(),
                page:{
                    curr:1  // 重新从第 1 页开始
                }
            });
            return false;
        });
    }

    // 搜索 参数
    function getQueryParams() {
        return {
            searchMarkStatus: $('select[name="searchMarkStatus"]').val(),
            searchName: $('select[name="searchName"]').val(),
            searchKey:$('input[name="searchKey"]').val()
        };
    }
})